home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / enlightenment / e_apps.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  5KB  |  119 lines

  1. /*
  2.  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  3.  */
  4. #ifdef E_TYPEDEFS
  5.  
  6. typedef enum _E_App_Change
  7. {
  8.    E_APP_ADD,
  9.    E_APP_DEL,
  10.    E_APP_CHANGE,
  11.    E_APP_ORDER,
  12.    E_APP_EXEC,
  13.    E_APP_READY,
  14.    E_APP_EXIT,
  15.    E_APP_READY_EXPIRE
  16. } E_App_Change;
  17.  
  18. typedef struct _E_App          E_App;
  19. typedef struct _E_App_Instance E_App_Instance;
  20.  
  21. #else
  22. #ifndef E_APPS_H
  23. #define E_APPS_H
  24.  
  25. #define E_APP_TYPE 0xE0b01001
  26.  
  27. struct _E_App
  28. {
  29.    E_Object            e_obj_inherit;
  30.    
  31.    E_App              *parent; /* the parent e_app node */
  32.    E_App              *orig; /* if this is a copy, point to the original */
  33.    
  34.    char               *name; /* app name */
  35.    char               *generic; /* generic app name */
  36.    char               *comment; /* a longer description */
  37.    char               *exe; /* command to execute, NULL if directory */
  38.    
  39.    char               *path; /* path to .eet containing icons etc. etc. */
  40.  
  41.    char               *win_name; /* window name */
  42.    char               *win_class; /* window class */
  43.    char               *win_title; /* window title */
  44.    char               *win_role; /* window role */
  45.  
  46.    char               *icon_class; /* icon_class */
  47.    
  48.    Evas_List          *subapps; /* if this a directory, a list of more E_App's */
  49.    
  50.    Evas_List          *instances; /* a list of all the exe handles for executions */
  51.  
  52.    Evas_List          *references; /* If this app is in a main repository, this would
  53.                       be a list to other eapp pointing to this */
  54.  
  55.    Ecore_File_Monitor *monitor; /* Check for changes and files */
  56.    
  57.    unsigned char       startup_notify : 1; /* disable while starting etc. */
  58.    unsigned char       wait_exit : 1; /* wait for app to exit before execing next */
  59.    unsigned char       starting : 1; /* this app is starting */
  60.  
  61.    unsigned char       scanned : 1; /* have we scanned a subdir app yet */
  62.  
  63.    unsigned char       deleted : 1; /* this app's file is deleted from disk */
  64.    
  65.    char               *image; /* used when we're saving a image into the eap */
  66. };
  67.  
  68. struct _E_App_Instance
  69. {
  70.    E_App       *app;
  71.    Ecore_Exe   *exe;
  72.    int          launch_id;
  73.    double       launch_time;
  74.    Ecore_Timer *expire_timer;
  75. };
  76.  
  77. EAPI int         e_app_init                              (void);
  78. EAPI int         e_app_shutdown                          (void);
  79.  
  80. EAPI E_App      *e_app_new                               (const char *path, int scan_subdirs);
  81. EAPI E_App      *e_app_empty_new                         (const char *path);
  82. EAPI int         e_app_is_parent                         (E_App *parent, E_App *app);
  83. EAPI int         e_app_equals                            (E_App *app1, E_App *app2);
  84. EAPI void        e_app_subdir_scan                       (E_App *a, int scan_subdirs);
  85. EAPI int         e_app_exec                              (E_App *a, int launch_id);
  86. EAPI int         e_app_starting_get                      (E_App *a);
  87. EAPI int         e_app_running_get                       (E_App *a);
  88. EAPI void        e_app_prepend_relative                  (E_App *add, E_App *before);
  89. EAPI void        e_app_append                            (E_App *add, E_App *parent);
  90. EAPI void        e_app_files_prepend_relative            (Evas_List *files, E_App *before);
  91. EAPI void        e_app_files_append                      (Evas_List *files, E_App *parent);
  92. EAPI void        e_app_remove                            (E_App *a);
  93.     
  94. EAPI void        e_app_change_callback_add               (void (*func) (void *data, E_App *a, E_App_Change ch), void *data);
  95. EAPI void        e_app_change_callback_del               (void (*func) (void *data, E_App *a, E_App_Change ch), void *data);
  96.  
  97. EAPI E_App      *e_app_launch_id_pid_find                (int launch_id, pid_t pid);
  98. EAPI E_App      *e_app_window_name_class_title_role_find (const char *name, const char *class, const char *title, const char *role);
  99. EAPI E_App      *e_app_file_find                         (char *file);
  100. EAPI E_App      *e_app_name_find                         (char *name);
  101. EAPI E_App      *e_app_generic_find                      (char *generic);
  102. EAPI E_App      *e_app_exe_find                          (char *exe);
  103.  
  104. EAPI Evas_List  *e_app_name_glob_list                    (char *name);
  105. EAPI Evas_List  *e_app_generic_glob_list                 (char *generic);
  106. EAPI Evas_List  *e_app_exe_glob_list                     (char *exe);
  107. EAPI Evas_List  *e_app_comment_glob_list                 (char *comment);
  108.     
  109. EAPI void         e_app_fields_fill                       (E_App *a, const char *path);
  110. EAPI void         e_app_fields_save                       (E_App *a);
  111. EAPI E_App       *e_app_raw_new                           (void);
  112. EAPI Ecore_List  *e_app_dir_file_list_get                 (E_App *a);
  113. EAPI void         e_app_fields_empty                      (E_App *a);
  114. EAPI int          e_app_valid_exe_get                     (E_App *a);
  115. EAPI Evas_Object *e_app_icon_add                          (Evas *evas, E_App *a);
  116.  
  117. #endif
  118. #endif
  119.